﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Jayden.Dll.Core.Collections
{
	public interface IBitArray : ICloneable
	{
		int NumberOfBits { get; }
		int NumberOfBitsOn { get; }
		int NumberOfBitsOff { get; }

		bool this[int bitIndex] { get; set; }

		void And(IBitArray value);
		void Or(IBitArray value);
		void Not();
		void Xor(IBitArray value);

		new IBitArray Clone();
	}
}
